docs(api-reference): drop nonexistent success/meta.* fields from envelope (SHA-3208)#231
Conversation
…lope (SHA-3208)
Live /odds envelope (verified on api.sharpapi.io 2026-05-19) is
`{data, pagination, updated_at}` — no `success`, no `meta` wrapper.
overview.mdx documented a stale envelope in all 4 locales claiming
`success: true` plus a `meta.{count,total,pagination,updated_at,filters}`
block, none of which the Go API emits.
Aligns with `conventions.mdx`, which already says "no `success` field" and
"`meta.updated_at` nesting is not used". Surfaces the real `pagination`
block keys (`count`, `total`, `next_cursor`) from `httputil.Pagination`
and flags `total`/`next_cursor` as conditionally present (omitempty / cursor-
supporting endpoints only) so generic parsers don't assume them.
OpenAPI spec doesn't carry the stale envelope, so no info.version bump.
|
Self-merge audit (2026-05-21): re-verified against live OVH |
|
Merge gate (auto-classified): gate=fixes-issue — auto-classified by the gate-log enforcer (9min after merge, no Posted by |
Fixes SHA-3208 (Paperclip).
Summary
content/{en,es,de,pt-BR}/api-reference/overview.mdxdocumented a response envelope withsuccess: trueand a top-levelmetablock carryingcount,total,pagination,updated_at,filters. None of those fields exist in the live response.GET /api/v1/odds,/events,/odds/best,/accountonapi.sharpapi.io). The true envelopes are:{ data, pagination, updated_at }wherepaginationcarrieslimit, offset, count, total?, has_more, next_offset, next_cursor?.{ data, updated_at }(nopaginationblock).sharp-api-go/pkg/httputil/httputil.go(type Pagination struct) —Totalis*int omitemptyandNextCursoris*string omitempty. New table reflects that.overview.mdxwith the already-correctconventions.mdx, which states "nosuccessfield" and "meta.updated_atnesting is not used."public/openapi.json) does not carry the stale envelope, so noinfo.versionbump.Out of scope (follow-up)
A grep turned up ~20+ per-endpoint pages (e.g.
odds.mdx,odds-best.mdx,odds-delta.mdx,odds-batch.mdx,events.mdx,events-odds.mdx,opportunities-*.mdx,historical-odds-closing.mdx) that still carry the stalesuccess: true/meta.*shape across all 4 locales. SHA-3208 was explicitly scoped tooverview.mdx, so those are not touched here; a follow-up issue is the right way to handle them.Test plan
grepconfirms nometa.(count|total|pagination|updated_at|filters)or"success": trueremain inoverview.mdx(the only remainingsuccessmention is the new "nosuccessfield" disclaimer in each locale).Type: docs
🤖 Generated with Claude Code